package com.yanggu.scala.chapater11.view

object ViewDemo01 {

  def main(args: Array[String]): Unit = {
    //Stream的懒加载特性，也可以对其他集合应用view方法来得到类似的效果，具有如下特点：
    //1. view方法产出一个总是被懒执行的集合。
    //2. view不会缓存数据，每次都要重新计算, 比如遍历View时。
    //请找到1-100 中，数字倒序排列 和它本身相同的所有数。(1 2, 11, 22, 33 ...)
    println((1 to 100)
      .filter(number => number.toString.reverse.equals(number.toString)))

    //这里只有当数据使用时, 才会执行。和lazy关键字类似。有懒执行的效果
    val view = (1 to 100).view.filter(number => number.toString.reverse.equals(number.toString))
    println(view)

    view.foreach(println(_))
  }

}
